/**
 * 
 */
package de.cbf.cam.dsa.tavern.carte.handlers;

import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.ui.IViewPart;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.handlers.HandlerUtil;

import de.cbf.cam.dsa.tavern.carte.ViewEditCarte;

/**
 * Our sample handler extends AbstractHandler, an IHandler base class.
 * @see org.eclipse.core.commands.IHandler
 * @see org.eclipse.core.commands.AbstractHandler
 */
public class HandlerLCSMealTypes extends AbstractHandler {
	/**
	 * The constructor.
	 */
	public HandlerLCSMealTypes() {
	}

	/**
	 * the command has been executed, so extract extract the needed information
	 * from the application context.
	 */
	public Object execute(ExecutionEvent event) throws ExecutionException {
		IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindowChecked(event);		
		IViewPart viewPart = window.getActivePage().findView(ViewEditCarte.ID);
		if (viewPart instanceof ViewEditCarte) {
			ViewEditCarte view = (ViewEditCarte) viewPart;
			view.getController().doLcsMealTypes();		
		}		
		return null;
	}
}

